package org.bulu.project.system.service;

import org.bulu.project.system.model.entity.Dynamic;
import org.bulu.project.system.model.entity.Video;
import org.springframework.stereotype.Service;

import java.io.IOException;
import java.util.List;

@Service
public interface DynamicService {
    /**
     * 根据uid获取动态信息
     * @return  包含视频消息
     */
    List<Dynamic> getVideosByIds(Integer uid);

    /**
     * 根据vid查询单个动态信息，包含用户信息和分区信息
     * @param did 动态ID
     * @return 包含用户信息、分区信息、视频信息的map
     */
    Dynamic getVideoWithDataById(Integer did);

    /**
     * 创建动态
     */
    int addDynamic(Dynamic video) throws IOException;

    /**
     * 根据did删除视频以及相关信息
     */
    int delDynamic(Integer did) throws IOException;

    /**
     * 修改视频相关消息
     */
    int updateDynamic(Dynamic video) throws IOException;

    /**
     * 根据有序vid列表查询视频以及相关信息
     * @param list  vid有序列表
     * @return  有序的视频列表
     */
    List<Video> getVideosWithDataByIdList(List<Integer> list);

}
